Conversation
ChrisCoxArt
left a comment
There was a problem hiding this comment.
That's a lot of changes. But it mostly follows the XML code, including fixes, and looks good for a first pass.
This is going to need a LOT of testing.
Status2026-04-10 00:28:51 UTC
|
Manual Code Review2026-04-10 00:34:25 UTC This is my manual review.
All the tests and checks in Workflows. PASS (within ~5%) |
Build fixes: - IccTagJson.cpp: Add this-> for dependent base class members (C++ two-phase lookup) - IccUtilJson.cpp: Remove duplicate unsigned int template instantiation (uint32_t alias) Runtime fixes: - IccToJson.cpp: Catch nlohmann exceptions on non-UTF-8 profiles (was SIGABRT on 13/368 profiles) - IccUtil.cpp: Add v5 rendering intent names to icGetRenderingIntentValue() round-trip - IccUtilJson.cpp: Bounds check in icJsonGetHexData/Size before accessing szText[1] - IccUtil.cpp: NULL checks after malloc/calloc in CIccUTF16String constructors Verified: ASAN+UBSAN stress test on 852 profiles, 0 crashes, 0 sanitizer findings. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Pre Merge Report2026-04-10 01:16:35 UTC PR cleared ci-pr-action |
On Linux/macOS, icUInt32Number is uint32_t (same as unsigned int), causing duplicate instantiation errors. On Windows/MSVC, icUInt32Number is unsigned long, so unsigned int needs its own explicit instantiation to avoid LNK2019 unresolved externals. Wrap the unsigned int instantiations of jsonToValue and jGetValue with #ifdef _MSC_VER so they only compile on Windows where they are needed. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
TODO2026-04-10 01:36:03 UTC
|
Release Summary2026-04-10 01:43:06 UTC Tag: latest Commit: 60bbb8c Assets uploaded: 5 zip files iccdev-linux-clang.zip (57M) |
Status2026-04-10 04:29:36 UTC https://github.com/InternationalColorConsortium/iccDEV/actions/workflows/ci-tool-tests.yml Test Profile GenerationCreateAllProfiles.sh generated 370 test artifacts iccDEV Tool Coverage BaselineMetric Value JSON Configuration Tests JSON CLI Exercise Tests LUT Visualizations LUT Text Exports |
Pull Request Checklist